package com.zhaorujie.rpc.core.register;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * @author 赵汝杰
 * @version v1.0
 * @description Register
 * @date 2024/3/4
 **/
public interface Register {

    void init(String registerAddr, String env);

    void register(String serviceKey, String serviceAddr);

    void register(Collection<String> serviceKeys, String serviceAddr);

    List<String> discovery(String serviceKey);

    Map<String, List<String>> discovery(Collection<String> serviceKeys);

    void removeRegister(String serviceKey, String serviceAddr);

    void removeRegister(Collection<String> serviceKeys, String serviceAddr);

    void destroy();
}
